Systems and methods for vehicular navigation of narrow gaps

ABSTRACT

A vehicle is provided. The vehicle includes a plurality of sensors including a first sensor and a second sensor. The vehicle also includes a vehicle controller. The vehicle controller is programmed to (i) collect a first plurality of sensor information observed by the first sensor during operation of the vehicle; (ii) analyze the first plurality of sensor information to detect a gap along the vehicle&#39;s path of travel; (iii) compare one or more dimensions of the gap to one or more dimensions of the vehicle; (iv) receive a second plurality of sensor information from the second sensor; and (v) control the vehicle to travel through the gap based on the comparison of the one or more dimensions of the gap to the one or more dimensions of the vehicle and the second plurality of sensor information from the second sensor.

FIELD OF THE INVENTION

The present disclosure relates to vehicular control and navigation and,more particularly, to a system and method for controlling a vehicletravelling through a narrow gap.

BACKGROUND

In some locations, there are narrow gaps or passages that vehicles, suchas automobiles, can attempt to pass through. In some of these narrowpassages, the gap that the vehicle must pass through is barely widerthan the vehicle. Failure of the driver to properly navigate through thepassage can cause damage to the vehicle and/or the passage itself.Furthermore, in some situations, an autonomous vehicle will ask thedriver to take over during difficult maneuvers. Accordingly, it would bedesirable to have a system that assists drivers in navigating throughnarrow gaps and/or passages to prevent damage.

BRIEF SUMMARY

In one aspect, a vehicle is provided. The vehicle includes a pluralityof sensors including a first sensor and a second sensor. The vehiclealso includes a vehicle controller. The vehicle controller is programmedto collect a first plurality of sensor information observed by the firstsensor during operation of the vehicle. The vehicle controller is alsoprogrammed to analyze the first plurality of sensor information todetect a gap along the vehicle's path of travel. The vehicle controlleris further programmed to compare one or more dimensions of the gap toone or more dimensions of the vehicle. In addition, the vehiclecontroller is programmed to receive a second plurality of sensorinformation from a second sensor. Furthermore, the vehicle controller isprogrammed to control the vehicle to travel through the gap based on thecomparison of the one or more dimensions of the gap to the one or moredimensions of the vehicle and the second plurality of sensor informationfrom the second sensor. The vehicle may have additional, less, oralternate functionality, including that discussed elsewhere herein.

In another aspect, a computer device is provided. The computer deviceincludes at least one memory and at least one processor in communicationwith the at least one memory. The at least one processor is programmedto collect a first plurality of sensor information observed by a firstsensor during operation of a vehicle. The at least one processor is alsoprogrammed to analyze the first plurality of sensor information todetect a gap along the vehicle's path of travel. The at least oneprocessor is further programmed to compare one or more dimensions of thegap to one or more dimensions of the vehicle. In addition, the at leastone processor is programmed to receive a second plurality of sensorinformation from a second sensor different than the first sensor.Furthermore, the at least one processor is to control the vehicle totravel through the gap based on the comparison of the one or moredimensions of the gap to the one or more dimensions of the vehicle andthe second plurality of sensor information from the second sensor. Thecomputer device may have additional, less, or alternate functionality,including that discussed elsewhere herein.

In still another aspect, a method for controlling a vehicle is provided.The method is implemented on a vehicle controller associated with thevehicle including at least one processor in communication with at leastone memory. The method includes collecting a first plurality of sensorinformation observed by a first sensor during operation of a vehicle.The method also includes analyzing the first plurality of sensorinformation to detect a gap along the vehicle's path of travel. Themethod further includes comparing one or more dimensions of the gap toone or more dimensions of the vehicle. In addition, the method includesreceiving a second plurality of sensor information from a second sensordifferent than the first sensor. Furthermore, the method includescontrolling the vehicle to travel through the gap based on thecomparison of the one or more dimensions of the gap to the one or moredimensions of the vehicle and the second plurality of sensor informationfrom the second sensor. The method may have additional, less, oralternate functionality, including that discussed elsewhere herein.

Advantages will become more apparent to those skilled in the art fromthe following description of the preferred embodiments which have beenshown and described by way of illustration. As will be realized, thepresent embodiments may be capable of other and different embodiments,and their details are capable of modification in various respects.Accordingly, the drawings and description are to be regarded asillustrative in nature and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

The Figures described below depict various aspects of the systems andmethods disclosed therein. It should be understood that each Figuredepicts an embodiment of a particular aspect of the disclosed systemsand methods, and that each of the Figures is intended to accord with apossible embodiment thereof. Further, wherever possible, the followingdescription refers to the reference numerals included in the followingFigures, in which features depicted in multiple Figures are designatedwith consistent reference numerals.

There are shown in the drawings arrangements which are presentlydiscussed, it being understood, however, that the present embodimentsare not limited to the precise arrangements and are instrumentalitiesshown, wherein:

FIG. 1 illustrates a schematic diagram of an exemplary vehicle, inaccordance with one embodiment of the present disclosure.

FIGS. 2A and 2B illustrate an overview diagram of the vehicle shown inFIG. 1 approaching and passing through a narrow passage or gap, inaccordance with one embodiment of the present disclosure.

FIG. 3 illustrates flow chart of an exemplary computer-implementedprocess of navigating the vehicle shown in FIG. 1 through the narrow gapshown in FIGS. 2A and 2B.

FIG. 4 depicts an exemplary configuration of the computer devices shownin FIG. 1 , in accordance with one embodiment of the present disclosure.

The Figures depict preferred embodiments for purposes of illustrationonly. One skilled in the art will readily recognize from the followingdiscussion that alternative embodiments of the systems and methodsillustrated herein may be employed without departing from the principlesof the invention described herein.

DETAILED DESCRIPTION OF THE DRAWINGS

In the following specification and the claims, reference will be made toa number of terms, which shall be defined to have the followingmeanings.

The singular forms “a,” “an,” and “the” include plural references unlessthe context clearly dictates otherwise.

“Optional” or “optionally” means that the subsequently described eventor circumstance may or may not occur, and that the description includesinstances where the event occurs and instances where it does not.

Approximating language, as used herein throughout the specification andclaims, may be applied to modify any quantitative representation thatcould permissibly vary without resulting in a change in the basicfunction to which it is related. Accordingly, a value modified by a termor terms, such as “about,” “approximately,” and “substantially,” are notto be limited to the precise value specified. In at least someinstances, the approximating language may correspond to the precision ofan instrument for measuring the value. Here and throughout thespecification and claims, range limitations may be combined and/orinterchanged; such ranges are identified and include all the sub-rangescontained therein unless context or language indicates otherwise.

As used herein, the term “database” may refer to either a body of data,a relational database management system (RDBMS), or to both, and mayinclude a collection of data including hierarchical databases,relational databases, flat file databases, object-relational databases,object oriented databases, and/or another structured collection ofrecords or data that is stored in a computer system.

As used herein, the terms “processor” and “computer” and related terms,e.g., “processing device”, “computing device”, and “controller” are notlimited to just those integrated circuits referred to in the art as acomputer, but broadly refers to a microcontroller, a microcomputer, aprogrammable logic controller (PLC), an application specific integratedcircuit (ASIC), and other programmable circuits, and these terms areused interchangeably herein. In the embodiments described herein, memorymay include, but is not limited to, a computer-readable medium, such asa random-access memory (RAM), and a computer-readable non-volatilemedium, such as flash memory. Alternatively, a floppy disk, a compactdisc-read only memory (CD-ROM), a magneto-optical disk (MOD), and/or adigital versatile disc (DVD) may also be used. Also, in the embodimentsdescribed herein, additional input channels may be, but are not limitedto, computer peripherals associated with an operator interface such as amouse and a keyboard. Alternatively, other computer peripherals may alsobe used that may include, for example, but not be limited to, a scanner.Furthermore, in the exemplary embodiment, additional output channels mayinclude, but not be limited to, an operator interface monitor.

Further, as used herein, the terms “software” and “firmware” areinterchangeable and include any computer program storage in memory forexecution by personal computers, workstations, clients, servers, andrespective processing elements thereof.

As used herein, the term “non-transitory computer-readable media” isintended to be representative of any tangible computer-based deviceimplemented in any method or technology for short-term and long-termstorage of information, such as, computer-readable instructions, datastructures, program modules and sub-modules, or other data in anydevice. Therefore, the methods described herein may be encoded asexecutable instructions embodied in a tangible, non-transitory, computerreadable medium, including, without limitation, a storage device, and amemory device. Such instructions, when executed by a processor, causethe processor to perform at least a portion of the methods describedherein. Moreover, as used herein, the term “non-transitorycomputer-readable media” includes all tangible, computer-readable media,including, without limitation, non-transitory computer storage devices,including, without limitation, volatile and nonvolatile media, andremovable and non-removable media such as a firmware, physical andvirtual storage, CD-ROMs, DVDs, and any other digital source such as anetwork or the Internet, as well as yet to be developed digital means,with the sole exception being a transitory, propagating signal.

Furthermore, as used herein, the term “real-time” refers to at least oneof the time of occurrence of the associated events, the time ofmeasurement and collection of predetermined data, the time for acomputing device (e.g., a processor) to process the data, and the timeof a system response to the events and the environment. In theembodiments described herein, these activities and events may beconsidered to occur substantially instantaneously.

The present embodiments may relate to, inter alia, systems and methodsfor controlling a vehicle travelling through a narrow gap based uponsensor data. In an exemplary embodiment, the process is performed by avehicle controller computer device, also known as a vehicle controller.

In the exemplary embodiment, the vehicle includes a plurality of sensorsthat allow the vehicle to observe its surroundings in real-time. Thesensors can include, but are not limited to, radar, LIDAR, proximitysensors, ultrasonic sensors, electromagnetic sensors, wide RADAR, longdistance RADAR, Global Positioning System (GPS), video devices, imagingdevices, cameras, audio recorders, and computer vision. The vehiclecontroller receives information from the sensors. Based on theinformation from the sensors, the vehicle controller determines thatthere is a gap along the vehicle's line of travel. The vehiclecontroller determines if the vehicle can travel through the gap. The gapcan include sides as well as a top or ceiling that the vehicle will haveto fit under.

The vehicle controller determines the profile of the vehicle andcompares that to the horizontal and vertical measurements of the gap todetermine if the vehicle will fit through the gap. If the vehicle willnot fit, then the vehicle controller informs the driver. If the vehiclewill fit through the gap (both the horizontal and vertical dimensions),the vehicle controller confirms that there aren't any extra protrusionsthat could affect the vehicle's profile, such as cargo carriers orsporting equipment. The vehicle controller may also have the sidemirrors retracted, either automatically or manually by thedriver/passengers, to allow the vehicle to have more horizontalclearance through the gap.

In the exemplary embodiment, the vehicle controller detects the gapusing a first set of sensors, such as LIDAR, RADAR, and/or cameras. Whenthe vehicle reaches the gap, the vehicle controller receives informationfrom a second set of sensor, such as proximity sensors. In the exemplaryembodiment, the proximity sensors includes ultrasonic andelectromagnetic sensors. For example, the proximity sensors could besensors that are used for detecting objects near the vehicle, such asduring parking or for detecting cross traffic. In some embodiments, theproximity sensors detect objects near and around the bumper of thevehicle, such as within two meters.

While travelling through the gap, the vehicle controller receivesreal-time sensor data for navigation through the gap. The vehiclecontroller uses the steering, throttle, and braking systems to navigatethe vehicle through the gap. When the vehicle is through the gap, thevehicle controller may relinquish control of the vehicle to the driveror continue driving in the case of an autonomous vehicle.

In some embodiments, the user/driver may store preferences that wouldlet the vehicle controller know if there are any extra protrusions fromthe vehicle, such as bicycles and cargo carriers. The preferences mayalso include a known height and/or width of the vehicle, that isdifferent from the traditional values. Such as if the vehicle has aheightened suspension or extra-large wheels.

At least one of the technical problems addressed by this system mayinclude: (i) improving the accuracy of vehicular travel through narrowgaps; (ii) reducing the likelihood of accidents involving a vehicletravelling through a gap; (iii) reducing the chance of damage to avehicle and/or objects along or near a roadway; and (iv) reducing thechance of damage to objects attached to a vehicle.

The methods and systems described herein may be implemented usingcomputer programming or engineering techniques including computersoftware, firmware, hardware, or any combination or subset thereof,wherein the technical effects may be achieved by performing at least oneof the following steps: a) collect a first plurality of sensorinformation observed by a first sensor during operation of the vehicle;b) analyze the first plurality of sensor information to detect a gapalong the vehicle's path of travel; c) compare one or more dimensions ofthe gap to one or more dimensions of the vehicle; d) receive a secondplurality of sensor information from a second sensor different than thefirst sensor, wherein the first sensor is at least one of a camera orLIDAR, and wherein the second sensor is a proximity sensor; e) controlthe vehicle to travel through the gap based on the comparison of the oneor more dimensions of the gap to the one or more dimensions of thevehicle and the second plurality of sensor information from the secondsensor; f) determine a center line of travel for the vehicle through thehorizontal gap to avoid impacting one or more sides of the gap, wherethe gap is a horizontal gap; g) determine that one or more side mirrorsneed to be retracted prior to travel through the gap; h) instruct atleast one of a driver and/or a passenger to retract the one or more sidemirrors prior to travel through the gap; i) instruct the vehicle toretract the one or more side mirrors; j) store one or more preferencesfor travel through gaps, wherein the one or more preferences include oneor more protrusions on the vehicle that affect the one or moredimensions of the vehicle; k) query at least one individual in thevehicle about one or more protrusions to the vehicle that affect the oneor more dimensions of the vehicle; 1) where the gap is a vertical gap,i) determine a vertical dimension of the vehicle; ii) determine avertical dimension of the gap; and iii) compare the vertical dimensionof the vehicle to the vertical dimension of the gap; m) request controlof the vehicle from the driver; n) determine if the vehicle will fitthrough the gap based on the comparison; o) stop the vehicle if thedetermination is that the vehicle will not fit through the gap; p)control the vehicle by transmitting instructions to one or more of asteering system, a throttle system, and a braking system of the vehicle;q) continuously receive real-time sensor information from the pluralityof sensors while travelling through the gap; r) control the vehiclebased on the real-time sensor information; s) control the vehicle totravel in a rearward direction; t) control the vehicle by providingsteering assistance to the driver to assist the driver in travellingthrough the gap; u) determine if the vehicle is subscribed to a narrowgap subscription service before controlling the vehicle to travelthrough the gap; v) detect a cyclist on one side of the gap; w)determine a safe clearance for the cyclist; and x) control the vehicleto travel based on the safe clearance for the cyclist.

Exemplary Vehicle

FIG. 1 depicts a view of an exemplary vehicle 100. In some embodiments,vehicle 100 may be an autonomous or semi-autonomous vehicle capable offulfilling the transportation capabilities of a traditional automobileor other vehicle. In these embodiments, vehicle 100 may be capable ofsensing its environment and navigating without human input. In otherembodiments, vehicle 100 is a manual vehicle or a semi-autonomousvehicle with driver assistance systems, such as, but not limited to,lane keep assistance and parallel parking assistance, where the vehiclemay be as a traditional automobile that is controlled by a driver 115.

Vehicle 100 may include a plurality of sensors 105 and a vehiclecontroller 110. The plurality of sensors 105 may detect the currentsurroundings and location of vehicle 100. Plurality of sensors 105 mayinclude, but are not limited to, radar, LIDAR, proximity sensors,ultrasonic sensors, electromagnetic sensors, wide RADAR, long distanceRADAR, Global Positioning System (GPS), video devices, imaging devices,cameras, audio recorders, and computer vision. Plurality of sensors 105may also include sensors that detect conditions of vehicle 100, such asspeed, acceleration, gear, braking, and other conditions related to theoperation of vehicle 100, for example: at least one of a measurement ofat least one of speed, direction rate of acceleration, rate ofdeceleration, location, position, orientation, and rotation of thevehicle, and a measurement of one or more changes to at least one ofspeed, direction rate of acceleration, rate of deceleration, location,position, orientation, and rotation of the vehicle. Furthermore,plurality of sensors 105 may include impact sensors that detect impactsto vehicle 100, including force and direction and sensors that detectactions of vehicle 100, such the deployment of airbags. In someembodiments, plurality of sensors 105 may detect the presence of driver115 and one or more passengers (not shown) in vehicle 100. In theseembodiments, plurality of sensors 105 may detect the presence offastened seatbelts, the weight in each seat in vehicle 100, heatsignatures, or any other method of detecting information about driver115 and/or passengers in vehicle 100.

In some embodiments, the plurality of sensors 105 may include sensorsfor determining weight distribution information of vehicle 100. Weightdistribution information may include, but is not limited to, the weightand location of remaining gas, luggage, occupants, and/or othercomponents of vehicle 100. In some embodiments, plurality of sensors 105may include sensors for determining remaining gas, luggage weight,occupant body weight, and/or other weight distribution information.Furthermore, the plurality of sensors 105 may detect attachments to thevehicle 100, such as cargo carriers or bicycle racks attached to the topof the vehicle 100 and/or a trailer attached to a hitch on the rear ofthe vehicle 100.

In one example, plurality of sensors 105 may include LIDAR, radar,weight sensors, accelerometer, gyroscope, compass and/or other types ofsensors to identify the orientation and profile of the vehicle 100.Vehicle controller 110 and/or another computing device(s) (e.g., mobiledevice(s)) may be configured to monitor sensor data from plurality ofsensors 105 and/or other sensors to determine weight distributioninformation and/or location and orientation of the vehicle 100. In oneexample, vehicle controller 110 may compare sensor data for a particularevent (e.g., a road bump) with historical sensor data to identify theweight distribution of vehicle 100 and/or the location of the occupantsof vehicle 100. In another example, plurality of sensors 105 may includeweight sensors that vehicle controller 110 monitors to determine theweight distribution information.

Furthermore, vehicle 100 may have one or more protrusions, such as sidemirrors 120, that can temporarily change the profile of the vehicle.Examples of protrusions can include, but are not limited to, sidemirrors, antenna, top mounted cargo racks. In some embodiments, theplurality of sensors 105 can determine when and how the protrusions areaffecting the profile of the vehicle 100. For example, the plurality ofsensors 105 could determine that the side mirrors 120 are extended orretracted. The plurality of sensors 105 could also determine if there isa cargo carrier attached to the top mounted cargo racks. In some otherembodiments, the vehicle controller 110 can ask the driver 115 about thepotential protrusions, for example, if a bicycle or other object ismounted to the roof of the vehicle 100. In some embodiments, the vehiclecontroller 110 may ask the user at the beginning of the ride. In otherembodiments, the vehicle controller 110 queries the driver 115 aboutprotrusions when a narrow gap or other potential obstruction isdetected. In some embodiments, the vehicle controller 110 communicateswith the user via a mobile device 125 associated with the driver 115. Inother embodiments, the vehicle controller 110 communicates via a userinterface of the vehicle 100, such as through an infotainment panel 130.

Vehicle controller 110 may interpret the sensory information to identifyappropriate navigation paths, detect threats, and react to conditions.In some embodiments, vehicle controller 110 may be able to communicatewith one or more remote computer devices, such as mobile device 125. Inthe example embodiment, mobile device 125 is associated with driver 115and includes one or more internal sensors, such as an accelerometer, agyroscope, and/or a compass. Mobile device 125 may be capable ofcommunicating with vehicle controller 110 wirelessly. In addition,vehicle controller 110 and mobile device may be configured tocommunicate with computer devices located remotely from vehicle 100.

In some embodiments, vehicle 100 may include autonomous orsemi-autonomous vehicle-related functionality or technology that may beused with the present embodiments to replace human driver actions mayinclude and/or be related to the following types of functionality: (a)fully autonomous (driverless); (b) limited driver control; (c)vehicle-to-vehicle (V2V) wireless communication; (d)vehicle-to-infrastructure (and/or vice versa) wireless communication;(e) automatic or semi-automatic steering; (f) automatic orsemi-automatic acceleration; (g) automatic or semi-automatic braking;(h) automatic or semi-automatic blind spot monitoring; (i) automatic orsemi-automatic collision warning; (j) adaptive cruise control; (k)automatic or semi-automatic parking/parking assistance; (1) automatic orsemi-automatic collision preparation (windows roll up, seat adjustsupright, brakes pre-charge, etc.); (m) driver acuity/alertnessmonitoring; (n) pedestrian detection; (o) autonomous or semi-autonomousbackup systems; (p) road mapping systems; (q) software security andanti-hacking measures; (r) theft prevention/automatic return; (s)automatic or semi-automatic driving without occupants; and/or otherfunctionality. In these embodiments, the autonomous or semi-autonomousvehicle-related functionality or technology may be controlled, operated,and/or in communication with vehicle controller 110.

The wireless communication-based autonomous or semi-autonomous vehicletechnology or functionality may include and/or be related to: automaticor semi-automatic steering; automatic or semi-automatic accelerationand/or braking; automatic or semi-automatic blind spot monitoring;automatic or semi-automatic collision warning; adaptive cruise control;and/or automatic or semi-automatic parking assistance. Additionally oralternatively, the autonomous or semi-autonomous technology orfunctionality may include and/or be related to: driver alertness orresponsive monitoring; pedestrian detection; artificial intelligenceand/or back-up systems; hazard avoidance; navigation or GPS-relatedsystems; security and/or anti-hacking measures; and/or theft preventionsystems.

While vehicle 100 may be an automobile in the exemplary embodiment, inother embodiments, vehicle 100 may be, but is not limited to, othertypes of ground craft, aircraft, watercraft, and spacecraft vehicles.

FIGS. 2A and 2B illustrate an overview diagram of the vehicle 100 (shownin FIG. 1 ) approaching and passing through a narrow passage or gap 205,in accordance with one embodiment of the present disclosure. The gap 205that the vehicle is approaching includes a first side 210 and a secondside 215. The gap 205 may be a part of and include, but is not limitedto, a narrow street, an alley, a garage, a car wash, a toll booth, afueling station, between two bollards, a gate, a very narrow parkingspace, an entrance, between two trees, between stopped or parkedvehicles, and/or any other narrow gap 205 that it is desirable for avehicle 100 to safely pass through. In some embodiments, the gap 205continues for a very short distances, such as a gate. In otherembodiments, the gap 205 continues for a significant distance, such as anarrow street or alley. In some further embodiments, there may bemultiple gaps 205 of different widths, such as in an alleyway withdumpsters and other obstacles.

While the gap 205 shown in FIG. 2A is horizontal, the gap may also havea ceiling or overhead clearance (not shown) where the vehicle 100 mustpass under the ceiling or overhead object. For example, the gap 205 maybe in a parking garage where there is a maximum safe clearance. Thesystems and methods described herein can be applied to the vertical gapas well as the horizontal gap.

In the exemplary embodiment, the vehicle 100 approaches the gap 205. Thesensors 105 (shown in FIG. 1 ) detect the gap 205. For example, thelong-range RADAR, LIDAR, and/or cameras could detect that there is a gap205 ahead. The sensors 105 would then then determine the width of thegap 205 by determining the distance between the first side 210 and thesecond side 215. In the exemplary embodiment, the gap 205 would bedetected a half a block away or any other distance that allows thevehicle 100 to safely react based on the speed of the vehicle 100.

In the exemplary embodiment, the vehicle controller 110 (shown in FIG. 1) ensures that the vehicle 100 is travelling along a center line 220 toensure that the vehicle 100 does not impact either side 210 or 215 ofthe gap 205. In the exemplary embodiment, the vehicle controller 110 isin control of the vehicle 100 while travelling through the gap 205. Thevehicle controller 110 can be in control due to the vehicle 100 beingautonomous or the vehicle 100 being semiautonomous, where the driver 115(shown in FIG. 1 ) temporarily relinquishes control of the vehicle 100to the vehicle controller 110 while travelling through the gap 205. Instill other embodiments, the vehicle controller 110 provides narrow gapassistance by providing nudges and/or weighted steering to the driver115 through the steering system, where the driver 115 is still incontrol of the vehicle 100, but the vehicle controller 110 assists thedriver 115 in staying in the center of the gap 205.

While travelling through the gap 205 as shown in FIG. 2B, the vehiclecontroller 110 calculates the center line 220 to drive the vehicle 100along so that there is a clearance 225 and 230 on each side of thevehicle, such that the clearances 225 and 230 allows the vehicle 100 topass through the gap 205 without impacting either side 210 or 215. Inthe exemplary embodiment, the vehicle controller 110 receivesinformation from sensors 105 to determine where the center line 220 is,such as proximity sensors 105.

While FIGS. 2A and 2B illustrate the vehicle traveling forward throughthe gap 205, the systems and methods described herein can also be usedfor a vehicle 100 traveling in reverse through a gap 205. This may beespecially useful for situations where the driver 115 needs to extricatethemselves from a tight situation that they pulled into. In general, itis easier for drivers 115 to drive their vehicles 100 forward, than inreverse and having this system would reduce accidents and damage to thevehicle 100 in these narrow situations.

In some further embodiments, the gap 205 is between a cyclist on thefirst side 210 and a lane marker or another vehicle 100 on the secondside 215. In some situations, cyclists can be on the edge of the bicyclelane due to parked cars. At traditional city street speeds of 30 to 40miles per hour, it can be difficult for drivers 115 to determine whereto be in the lane to avoid the cyclist as well as other vehicles 100 intraffic. In these embodiments, the vehicle controller 110 determines aminimum safe clearance 225 for the cyclist, such as one meter, and thenadjusts the center line 220 for the vehicle 100 based on that minimumsafe distance. In some situations, the vehicle controller 110 uses thelane marking to determine the second side 215. In other situations, thevehicle controller 110 detects other vehicles, such as with proximitysensors 105, to act as the second side 215.

FIG. 3 illustrates a flow chart of an exemplary computer-implementedprocess 300 of navigating the vehicle 100 (shown in FIG. 1 ) through thenarrow gap 205 (shown in FIGS. 2A and 2B). In the exemplary embodiment,process 300 is performed by the vehicle controller 110 (shown in FIG. 1).

In the exemplary embodiment, the vehicle controller 110 receives 305sensor data from at least a first sensor 105 of the plurality of sensors105 (both shown in FIG. 1 ). In some embodiments, the first sensor 105includes at least one of a camera, RADAR, LIDAR, or other sensor able todetect objects at a distance. Based on the received 305 sensor data, thevehicle controller 110 detects 310 a gap 205. The gap 205 is along thecurrent route of travel of the vehicle 100. As described above, thevehicle controller 110 receives a plurality of sensor information fromthe plurality of sensors 105 (shown in FIG. 1 ). Based on the pluralityof sensor information, the vehicle controller 110 detects 310 the gap205. In the exemplary embodiment, the vehicle controller 110 detects 310the gap 205 about half of a block away or the same distance that thevehicle controller 110 would react to a red streetlight. Accordingly,this distance would vary based on the speed of the vehicle 100, thelimitations of the plurality of sensors 105, current visibility, thestopping distance of the vehicle 100, as well as other environmentalfactors.

In the exemplary embodiment, the vehicle controller 110 analyzes 315 thegap 205. The vehicle controller 110 compares the gap 205 to the profileof the vehicle 100. The vehicle controller 110 determines if there areany protrusions from the profile of the vehicle 100, such as, but notlimited to, side mirrors 120 (shown in FIG. 1 ), cargo carriers, sportsequipment, or any other feature of the vehicle that might increase thevehicle's profile and potentially impact one of the sides 210 or 215(both shown in FIG. 2A) of the gap 205. In some embodiments, theuser/driver 115 (shown in FIG. 1 ) has entered information about theitems affecting the profile of the vehicle 100. These could be permanentmodifications to the vehicle 100 or temporary additions, like a bicycle.In some embodiments, the vehicle controller 110 makes an assumptionabout the amount of extra height that a bicycle would add to the vehicle100. In some embodiments, the vehicle controller 110 may determine theheight of the vehicle 100 with bicycle based on one or more sensorreadings. The vehicle controller 110 can also analyze the height of thegap 205 to ensure that the vehicle 100 can safely travel through the gap205.

If the vehicle 100 will not fit through the gap 205, then the vehiclecontroller 110 stops or reroutes 320 the vehicle 100. If the vehicle 100is currently autonomously travelling, then the vehicle controller 110can inform the driver 115 and reroute 320 the vehicle 100 around the gap205. If the driver 115 is controlling the vehicle 100, the vehiclecontroller 110 can inform the driver 115 that the vehicle 100 will notfit through the gap 205. This notification may include, but is notlimited to, one or more warning lights on the dashboard, one or morewarning sounds, pumping the brakes, vibrating the steering wheel, and/orflashing a warning on the infotainment panel 130 (shown in FIG. 1 ).

If the gap 205 is an acceptable size for the vehicle 100, the vehiclecontroller 110 then proceeds with process 300. The vehicle controller110 can then work to reduce 325 the vehicle profile. The vehiclecontroller 110 can reduce 325 the vehicle profile by causing the sidemirrors 120 (shown in FIG. 1 ) to be retraced or stowed. In someembodiments, retracting the side mirrors 120 is done automatically bythe vehicle controller 110 controlling the side mirrors 120 to retractinto the stowed position. The vehicle controller 110 can also instructthe driver 115, through the infotainment panel 130, to retract the sidemirrors manually. The vehicle controller 110 could also retract othersystems that may affect the vehicle profile, such as antennas.

In some embodiments, the vehicle controller 110 asks the driver 115 oneor more questions about the current configuration of the vehicle 100,such as any cargo that may be on the exterior of the vehicle 100 orotherwise protruding past the normal profile of the vehicle 100. Forexample, if the gap 205 has an overhead clearance that is within apredetermined distance from the top of the vehicle 100, the vehiclecontroller 110 could ask the driver 115 if they have a cargo carrier, abicycle, or any other objects on the top of the vehicle 100. In someembodiments, the vehicle controller 110 stops or slows the vehicle 100during the reducing 325 the vehicle profile step.

In the exemplary embodiment, the vehicle controller 110 assumes 330control of the vehicle 100 in preparation for travelling through the gap205. In some situations, the vehicle 100 may already be in an autonomoustravel mode, where the vehicle controller 110 is in control of thevehicle. In other situations, the vehicle 100 requests temporary controlof the vehicle 100 from the driver 115, such as through the infotainmentpanel 130 (shown in FIG. 1 ). In some embodiments, the infotainmentpanel 130 displays a virtual button that the driver 115 can actuate totransfer control of the vehicle 100 to the vehicle controller 110. Thisallows the vehicle controller 110 to navigate 340 the vehicle 100through the gap 205. The vehicle controller 110 receives 335 sensor datafrom a second set of sensors 105, such as, but not limited to, proximitysensors 105 while travelling 340 through the gap 205. While navigating340 through the gap 205, the vehicle controller 110 continuouslyreceives 335 sensor information from the plurality of sensors 105,including the second set of sensors 105, to ensure that the vehicle 100has sufficient clearance 225 and 230 (shown in FIG. 2B) and is followingthe center line 220. In the exemplary embodiment, the proximity sensors105 includes ultrasonic and electromagnetic sensors. For example, theproximity sensors 105 could be sensors 105 that are used for detectingobjects near the vehicle, such as during parking or for detecting crosstraffic. In some embodiments, the proximity sensors 105 detect objectsnear and around the bumper of the vehicle 100, such as within twometers.

While navigating 340 through the gap 205, the vehicle controller 110 cancontrol the steering, throttle, and braking systems of the vehicle 100to maneuver the vehicle 100 through the gap 205. In semi-autonomousvehicles 100, the vehicle controller 110 can use the electric steeringsystems that are used for lane keep assistance features, lane centeringfeatures, and/or auto parallel parking assist features. In still furtherembodiments, the vehicle controller 110 assists the driver 115 withtravelling 340 through the gap 205. In these embodiments, the vehiclecontroller 110 can instruct the steering to provide light nudges in theappropriate direction to help the driver 115 steer through the gap 205.In some of these embodiments, the vehicle controller 110 controls thesteering to become harder as the driver 115 turns the vehicle 100 awayfrom the detected center line. In some of these embodiments, the vehiclecontroller 110 weights the steering so that steering to the center line220 (shown in FIG. 2 ) is the easiest and has the least resistance,while steering away from the center line 220 requires the driver 115 topush against stronger resistance from the steering system.

When the vehicle 100 has cleared the gap 205, the vehicle controller 110can release 345 control either to the driver 115 or the autonomousdriving system of the vehicle 100.

In some embodiments, the driver 115, or other user of the vehicle 100,has stored one or more preferences in a memory device accessible by thevehicle controller 110. In at least one embodiment, the options areentered through the mobile device 125 (shown in FIG. 1 ) or theinfotainment panel 130. In some embodiments, the options are entered atthe beginning of the trip. As a part of the start-up sequence of thevehicle 100, the driver 115 or other user could enter that there is abicycle or cargo carrier on top of the vehicle 100. The vehicle profilewould also be impacted if there is a bicycle on a rack on the back ofthe vehicle 100, where the bicycle protrudes out past one or more sidesof the vehicle 100. In this situation, the driver 115 could physicallyadjust the bicycle or set a user preference indicating the protrusion.Furthermore, the driver 115 could set user preferences to include thespeed at which they would like the vehicle 100 to travel throughobstacles, such as a gap 205.

In some further embodiments, the vehicle controller 110 accesses the airsuspension to reduce 325 the vehicle profile. In some embodiments,vehicles 100 may use their air suspension system to raise the vehicle100 when entering a driveway to avoid scraping the bottom of the vehicle100. The vehicle controller 110 may also raise the vehicle 100 whentraveling off-road and lower the vehicle 100 when travelling on standardroadways.

In some embodiments, process 300 is offered via a subscription service,wherein the driver 115 can subscribe to a service that provides thevehicle 100 and the vehicle controller 110 the capability to executeprocess 300. For example, if the driver 115 knows that they are going tobe driving in area with narrow gaps 205, such as small alley ways and/orroads, the driver 115 can subscribe to the narrow gap 205 process 300.In these embodiments, process 300 might be updated on a regular basis toimprove its accuracy, and the subscribed drivers 115 get access to theupdated process 300.

In FIG. 4 depicts an exemplary configuration of the computer devicesshown in FIG. 1 , in accordance with one embodiment of the presentdisclosure. User computer device 402 may be operated by a user 401. Inthe exemplary embodiment, user 401 may be similar to driver 115 (shownin FIG. 1 ). User computer device 402 may include, but is not limitedto, vehicle controller 110 and mobile device 125 (shown in FIG. 1 ).User computer device 402 may include a processor 405 for executinginstructions. In some embodiments, executable instructions are stored ina memory area 410. Processor 405 may include one or more processingunits (e.g., in a multi-core configuration). Memory area 410 may be anydevice allowing information such as executable instructions and/ortransaction data to be stored and retrieved. Memory area 410 may includeone or more computer readable media.

User computer device 402 may also include at least one media outputcomponent 415 for presenting information to user 401. Media outputcomponent 415 may be any component capable of conveying information touser 401. In some embodiments, media output component 415 may include anoutput adapter (not shown) such as a video adapter and/or an audioadapter. An output adapter may be operatively coupled to processor 405and operatively coupleable to an output device such as a display device(e.g., a cathode ray tube (CRT), liquid crystal display (LCD), lightemitting diode (LED) display, or “electronic ink” display) or an audiooutput device (e.g., a speaker or headphones).

In some embodiments, media output component 415 may be configured topresent a graphical user interface (e.g., a web browser and/or a clientapplication) to user 401, such as through the infotainment panel 130(shown in FIG. 1 ). A graphical user interface may include, for example,an online store interface for viewing and/or purchasing items, and/or awallet application for managing payment information. In someembodiments, user computer device 402 may include an input device 420for receiving input from user 401. User 401 may use input device 420 to,without limitation, select and/or enter one or more items to purchaseand/or a purchase request, or to access credential information, and/orpayment information.

Input device 420 may include, for example, a keyboard, a pointingdevice, a mouse, a stylus, a touch sensitive panel (e.g., a touch pad ora touch screen), a gyroscope, an accelerometer, a position detector, abiometric input device, and/or an audio input device. A single componentsuch as a touch screen may function as both an output device of mediaoutput component 415 and input device 420.

User computer device 402 may also include a communication interface 425,communicatively coupled to a remote device such as mobile device 125 orvehicle controller 110. Communication interface 425 may include, forexample, a wired or wireless network adapter and/or a wireless datatransceiver for use with a mobile telecommunications network.

Stored in memory area 410 are, for example, computer readableinstructions for providing a user interface to user 401 via media outputcomponent 415 and, optionally, receiving and processing input from inputdevice 420. A user interface may include, among other possibilities, aweb browser and/or a client application. Web browsers enable users, suchas user 401, to display and interact with media and other informationtypically embedded on a web page or a website from vehicle controller110. A client application allows user 401 to interact with, for example,vehicle controller 110. For example, instructions may be stored by acloud service, and the output of the execution of the instructions sentto the media output component 415.

Processor 405 executes computer-executable instructions for implementingaspects of the disclosure. In some embodiments, the processor 405 istransformed into a special purpose microprocessor by executingcomputer-executable instructions or by otherwise being programmed. Forexample, the processor 405 may be programmed with the instruction suchas illustrated in FIG. 3 .

In some embodiments, user computer device 402 may include, or be incommunication with, one or more sensors, such as sensor 105 (shown inFIG. 1 ). User computer device 402 may be configured to receive datafrom the one or more sensors and store the received data in memory area410. Furthermore, user computer device 402 may be configured to transmitthe sensor data to a remote computer device, such as vehicle controller110 or mobile device 125, through communication interface 425.

The types of autonomous or semi-autonomous vehicle-related functionalityor technology that may be used with the present embodiments to replacehuman driver actions may include and/or be related to the followingtypes of functionality: (a) fully autonomous (driverless); (b) limiteddriver control; (c) vehicle-to-vehicle (V2V) wireless communication; (d)vehicle-to-infrastructure (and/or vice versa) wireless communication;(e) automatic or semi-automatic steering; (f) automatic orsemi-automatic acceleration; (g) automatic or semi-automatic braking;(h) automatic or semi-automatic blind spot monitoring; (i) automatic orsemi-automatic collision warning; (j) adaptive cruise control; (k)automatic or semi-automatic parking/parking assistance; (l) automatic orsemi-automatic collision preparation (windows roll up, seat adjustsupright, brakes pre-charge, etc.); (m) driver acuity/alertnessmonitoring; (n) pedestrian detection; (o) autonomous or semi-autonomousbackup systems; (p) road mapping systems; (q) software security andanti-hacking measures; (r) theft prevention/automatic return; (s)automatic or semi-automatic driving without occupants; and/or otherfunctionality.

In the exemplary embodiment, the vehicle 100 includes a plurality ofsensors 105 (shown in FIG. 1 ) and a vehicle controller 110. The vehiclecontroller includes at least one processor 405 in communication with atleast one memory device 410. The vehicle controller 110 collects aplurality of sensor information observed by the plurality of sensors 105during operation of the vehicle 100. The vehicle controller 110 analyzesthe plurality of sensor information to detect a gap 205 (shown in FIG. 2) along the vehicle's path of travel. The vehicle controller 110compares one or more dimensions of the gap 205 to one or more dimensionsof the vehicle 100. In addition, the vehicle controller 110 controls thevehicle 100 to travel through the gap based on the comparison of the oneor more dimensions of the gap 205 to the one or more dimensions of thevehicle 100.

Where the gap is a horizontal gap, the vehicle controller 110 determinesa center line 220 of travel for the vehicle 100 through the horizontalgap 205 to avoid impacting one or more sides 210 and 215 (both shown inFIG. 2 ) of the gap 205. The vehicle controller 110 determines that oneor more side mirrors 120 (shown in FIG. 1 ) need to be retracted priorto travel through the gap 205. In some embodiments, the vehiclecontroller 110 instructs at least one of a driver 115 (shown in FIG. 1 )and/or a passenger to retract the one or more side mirrors 120 prior totravel through the gap 205. In other embodiments, the vehicle controller110 instructs the vehicle 100 to retract the one or more side mirrors120.

In further embodiments, vehicle controller 110 stores one or morepreferences for travel through gaps 205, such as in a memory device 410.The one or more preferences include one or more protrusions on thevehicle 100 that affect the one or more dimensions of the vehicle 100.The vehicle controller 110 can also query at least one individual in thevehicle 100 about one or more protrusions to the vehicle 100 that affectthe one or more dimensions of the vehicle 100.

In still further embodiments, the gap 205 is a vertical gap. In theseembodiments, the vehicle controller 110 determines a vertical dimensionof the vehicle 100. The vehicle controller 110 also determines avertical dimension of the gap 205. The vehicle controller 110 comparesthe vertical dimension of the vehicle 100 to the vertical dimension ofthe gap 205.

In some embodiments, the vehicle controller 110 requests control of thevehicle 100 from the driver 115.

In additional embodiments, the vehicle controller 110 determines if thevehicle 100 will fit through the gap based on the comparison. If thedetermination is that the vehicle 100 will not fit through the gap 205,the vehicle controller 110 stops the vehicle 100. The vehicle controller110 controls the vehicle 100 by transmitting instructions to one or moreof a steering system, a throttle system, and a braking system of thevehicle 100.

In other embodiments, the vehicle controller 110 continuously receivesreal-time sensor information from the plurality of sensors 105 whiletravelling through the gap 205. The vehicle controller 110 controls thevehicle 100 based on the real-time sensor information.

In still other embodiments, the vehicle controller 110 controls thevehicle 100 to travel in a rearward direction.

For the methods discussed directly above, the wirelesscommunication-based autonomous or semi-autonomous vehicle technology orfunctionality may include and/or be related to: automatic orsemi-automatic steering; automatic or semi-automatic acceleration and/orbraking; automatic or semi-automatic blind spot monitoring; automatic orsemi-automatic collision warning; adaptive cruise control; and/orautomatic or semi-automatic parking assistance. Additionally oralternatively, the autonomous or semi-autonomous technology orfunctionality may include and/or be related to: driver alertness orresponsive monitoring; pedestrian detection; artificial intelligenceand/or back-up systems; navigation or GPS-related systems; securityand/or anti-hacking measures; and/or theft prevention systems.

The computer-implemented methods and processes described herein mayinclude additional, fewer, or alternate actions, including thosediscussed elsewhere herein. The present systems and methods may beimplemented using one or more local or remote processors, transceivers,and/or sensors (such as processors, transceivers, and/or sensors mountedon vehicles, stations, nodes, or mobile devices, or associated withsmart infrastructures and/or remote servers), and/or throughimplementation of computer-executable instructions stored onnon-transitory computer-readable media or medium. Unless describedherein to the contrary, the various steps of the several processes maybe performed in a different order, or simultaneously in some instances.

Additionally, the computer systems discussed herein may includeadditional, fewer, or alternative elements and respectivefunctionalities, including those discussed elsewhere herein, whichthemselves may include or be implemented according tocomputer-executable instructions stored on non-transitorycomputer-readable media or medium.

In the exemplary embodiment, a processing element may be instructed toexecute one or more of the processes and subprocesses described above byproviding the processing element with computer-executable instructionsto perform such steps/sub-steps, and store collected data (e.g., vehicleprofiles, etc.) in a memory or storage associated therewith. This storedinformation may be used by the respective processing elements to makethe determinations necessary to perform other relevant processing steps,as described above.

The aspects described herein may be implemented as part of one or morecomputer components, such as a client device, system, and/or componentsthereof, for example. Furthermore, one or more of the aspects describedherein may be implemented as part of a computer network architectureand/or a cognitive computing architecture that facilitatescommunications between various other devices and/or components. Thus,the aspects described herein address and solve issues of a technicalnature that are necessarily rooted in computer technology.

The exemplary systems and methods described and illustrated hereintherefore significantly increase the safety of operation of autonomousand semi-autonomous vehicles by reducing the potential for damage to thevehicles and the vehicle's surroundings.

The present systems and methods are further advantageous overconventional techniques the embodiments herein are not confined to asingle type of vehicle and/or situation but may instead allow forversatile operation within multiple different types of vehicles,including ground craft, watercraft, aircraft, and spacecraft.Accordingly, these novel techniques are of particular value to vehiclemanufacturers who desire to have these methods and systems available forthe users of their vehicles.

Exemplary embodiments of systems and methods for securely navigatingthrough narrow passages are described above in detail. The systems andmethods of this disclosure though, are not limited to only the specificembodiments described herein, but rather, the components and/or steps oftheir implementation may be utilized independently and separately fromother components and/or steps described herein.

Although specific features of various embodiments may be shown in somedrawings and not in others, this is for convenience only. In accordancewith the principles of the systems and methods described herein, anyfeature of a drawing may be referenced or claimed in combination withany feature of any other drawing.

Some embodiments involve the use of one or more electronic or computingdevices. Such devices typically include a processor, processing device,or controller, such as a general purpose central processing unit (CPU),a graphics processing unit (GPU), a microcontroller, a reducedinstruction set computer (RISC) processor, an application specificintegrated circuit (ASIC), a programmable logic circuit (PLC), aprogrammable logic unit (PLU), a field programmable gate array (FPGA), adigital signal processing (DSP) device, and/or any other circuit orprocessing device capable of executing the functions described herein.The methods described herein may be encoded as executable instructionsembodied in a computer readable medium, including, without limitation, astorage device and/or a memory device. Such instructions, when executedby a processing device, cause the processing device to perform at leasta portion of the methods described herein. The above examples areexemplary only, and thus are not intended to limit in any way thedefinition and/or meaning of the term processor and processing device.

The patent claims at the end of this document are not intended to beconstrued under 35 U.S.C. § 112(f) unless traditionalmeans-plus-function language is expressly recited, such as “means for”or “step for” language being expressly recited in the claim(s).

This written description uses examples to disclose the disclosure,including the best mode, and also to enable any person skilled in theart to practice the disclosure, including making and using any devicesor systems and performing any incorporated methods. The patentable scopeof the disclosure is defined by the claims, and may include otherexamples that occur to those skilled in the art. Such other examples areintended to be within the scope of the claims if they have structuralelements that do not differ from the literal language of the claims, orif they include equivalent structural elements with insubstantialdifferences from the literal language of the claims.

We claim:
 1. A vehicle comprising: a plurality of sensors including afirst sensor and a second sensor; and a vehicle controller, wherein thevehicle controller is programmed to: collect a first plurality of sensorinformation observed by the first sensor during operation of thevehicle; analyze the first plurality of sensor information to detect agap along the vehicle's path of travel; compare one or more dimensionsof the gap to one or more dimensions of the vehicle; receive a secondplurality of sensor information from the second sensor; and control thevehicle to travel through the gap based on the comparison of the one ormore dimensions of the gap to the one or more dimensions of the vehicleand the second plurality of sensor information from the second sensor.2. The vehicle of claim 1, wherein the gap is a horizontal gap, andwherein the vehicle controller is further programmed to determine acenter line of travel for the vehicle through the horizontal gap toavoid impacting one or more sides of the gap.
 3. The vehicle of claim 2,wherein the vehicle controller is further programmed to determine thatone or more side mirrors need to be retracted prior to travel throughthe gap.
 4. The vehicle of claim 3, wherein the vehicle controller isfurther programmed to instruct at least one of a driver and/or apassenger to retract the one or more side mirrors prior to travelthrough the gap.
 5. The vehicle of claim 3, wherein the vehiclecontroller is further programmed to instruct the vehicle to retract theone or more side mirrors.
 6. The vehicle of claim 1, wherein the vehiclecontroller is further programmed to store one or more preferences fortravel through gaps, wherein the one or more preferences include one ormore protrusions on the vehicle that affect the one or more dimensionsof the vehicle.
 7. The vehicle of claim 1, wherein the vehiclecontroller is further programmed to query at least one individual in thevehicle about one or more protrusions to the vehicle that affect the oneor more dimensions of the vehicle.
 8. The vehicle of claim 1, whereinthe gap is a vertical gap, and wherein the vehicle controller is furtherprogrammed to: determine a vertical dimension of the vehicle; determinea vertical dimension of the gap; and compare the vertical dimension ofthe vehicle to the vertical dimension of the gap.
 9. The vehicle ofclaim 1, wherein the vehicle controller is further programmed to requestcontrol of the vehicle from a driver.
 10. The vehicle of claim 1,wherein the vehicle controller is further programmed to determine if thevehicle will fit through the gap based on the comparison.
 11. Thevehicle of claim 10, wherein the vehicle controller is furtherprogrammed to stop the vehicle if the determination is that the vehiclewill not fit through the gap.
 12. The vehicle of claim 1, wherein thevehicle controller is further programmed to control the vehicle bytransmitting instructions to one or more of a steering system, athrottle system, and a braking system of the vehicle.
 13. The vehicle ofclaim 1, wherein the first sensor is at least one of a camera or LIDAR,and wherein the second sensor is a proximity sensor.
 14. The vehicle ofclaim 1, wherein the vehicle controller is further programmed to controlthe vehicle to travel in a rearward direction.
 15. The vehicle of claim1, wherein the vehicle controller is further programmed to control thevehicle by providing steering assistance to a driver to assist thedriver in travelling through the gap.
 16. The vehicle of claim 1,wherein the vehicle controller is further programmed to detect a cycliston one side of the gap; determine a safe clearance for the cyclist; andcontrol the vehicle to travel based on the safe clearance for thecyclist.
 17. The vehicle of claim 1, wherein the vehicle controller isfurther programmed to determine if the vehicle is subscribed to a narrowgap subscription service before controlling the vehicle to travelthrough the gap.
 18. A computer device comprising: at least one memory;and at least one processor in communication with the at least onememory, the at least one processor programmed to: collect a firstplurality of sensor information observed by a first sensor duringoperation of a vehicle; analyze the first plurality of sensorinformation to detect a gap along the vehicle's path of travel; compareone or more dimensions of the gap to one or more dimensions of thevehicle; receive a second plurality of sensor information from a secondsensor different than the first sensor; and control the vehicle totravel through the gap based on the comparison of the one or moredimensions of the gap to the one or more dimensions of the vehicle andthe second plurality of sensor information from the second sensor. 19.The computer device of claim 18, wherein the gap is a horizontal gap,and wherein the at least one processor further programmed to determine acenter line of travel for the vehicle through the horizontal gap toavoid impacting one or more sides of the gap.
 20. A method forcontrolling a vehicle, the method implemented by a vehicle controllerassociated with the vehicle comprising at least one processor incommunication with at least one memory, the method comprising:collecting a first plurality of sensor information observed by aplurality of sensors during operation of a vehicle; analyzing the firstplurality of sensor information to detect a gap along the vehicle's pathof travel; comparing one or more dimensions of the gap to one or moredimensions of the vehicle; receiving a second plurality of sensorinformation from a second sensor different than the first sensor; andcontrolling the vehicle to travel through the gap based on thecomparison of the one or more dimensions of the gap to the one or moredimensions of the vehicle and the second plurality of sensor informationfrom the second sensor.